#if !defined(_TYPEDESCRIPTORENTRY_H)
#define _TYPEDESCRIPTORENTRY_H

#include "alias.h"
#include "SArgumentException.h"

/**
 * Abstract class used to store an type descriptor entry
 */
class DECLARATION_DLL TypeDescriptorEntry
{
	protected:

		/** The name of the entry. */
		string name;

		/** The description of the entry. */
		string description;

		/**
		 * TypeDescriptorEntry constructor to create a new type descriptor entry.
		 */
		TypeDescriptorEntry(string name, string description);

	public:

		/**
		 * Get the name of the entry.
		 */
		virtual string GetName() const
		{
			return name;
		}

		/**
		 * Get the description of the entry.
		 */
		virtual string GetDescription() const
		{
			return description;
		}
};

#endif  //_TYPEDESCRIPTORENTRY_H
